var ajax;
var actualiza;
var valorBusqueda;

function funcionCallbackAgregarItem() {
	// Comprobamos si la peticion se ha completado (estado 4)
	if (ajax.readyState == 4) {
		// Comprobamos si la respuesta ha sido correcta (resultado HTTP 200)
		if (ajax.status == 200) {
			var algo = document.getElementById(actualiza);
			if(algo != null){
				algo.parentNode.removeChild(algo);
				actualiza = null;
			}
			
			document.getElementById("tablaCarrito").innerHTML += ajax.responseText;

			var total = 0;
			var table = document.getElementById("tablaCarrito");
			for ( var r = 1, n = table.rows.length; r < n; r++) {
				total += parseFloat(table.rows[r].cells[2].innerHTML);
			}
			document.getElementById("total").innerHTML = total;

		}
	}
}

function funcionCallbackEliminarItem() {
	// Comprobamos si la peticion se ha completado (estado 4)
	if (ajax.readyState == 4) {
		// Comprobamos si la respuesta ha sido correcta (resultado HTTP 200)
		if (ajax.status == 200) {
			// Escribimos el resultado en la pagina HTML mediante DHTML
			// document.all.salida.innerHTML = "<b>"+"</b>";

		}
	}
}

function funcionCallbackOrdenarPorNinio() {
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			var tabla = document.getElementById("tablaNinios");
			
			var firstRow = tabla.getElementsByTagName("thead")[0];
			var tfoot = tabla.getElementsByTagName("tfoot")[0];
			
			tabla.innerHTML = "<thead>" + firstRow.innerHTML + "</thead> <tfoot>"+ tfoot.innerHTML + "</tfoot>" + ajax.responseText;
			actualizarTabla();
		}
	}
}

function funcionCallbackOrdenarPorModa() {
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			var tabla = document.getElementById("tablaModa");
			
			var firstRow = tabla.getElementsByTagName("thead")[0];
			var tfoot = tabla.getElementsByTagName("tfoot")[0];
			
			tabla.innerHTML = "<thead>" + firstRow.innerHTML + "</thead> <tfoot>"+ tfoot.innerHTML + "</tfoot>" + ajax.responseText;
			actualizarTabla();
		}
	}
}
function funcionCallbackOrdenarPorElectrodomestico() {
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			var tabla = document.getElementById("tablaElectrodomestico");
			
			var firstRow = tabla.getElementsByTagName("thead")[0];
			var tfoot = tabla.getElementsByTagName("tfoot")[0];
			
			tabla.innerHTML = "<thead>" + firstRow.innerHTML + "</thead> <tfoot>"+ tfoot.innerHTML + "</tfoot>" + ajax.responseText;
			actualizarTabla();
		}
	}
}
function funcionCallbackOrdenarPorMueble() {
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			var tabla = document.getElementById("tablaMueble");
			
			var firstRow = tabla.getElementsByTagName("thead")[0];
			var tfoot = tabla.getElementsByTagName("tfoot")[0];
			
			tabla.innerHTML = "<thead>" + firstRow.innerHTML + "</thead> <tfoot>"+ tfoot.innerHTML + "</tfoot>" + ajax.responseText;
			actualizarTabla();
		}
	}
}


function funcionCallbackConfirmarVenta() {
	// Comprobamos si la peticion se ha completado (estado 4)
	if (ajax.readyState == 4) {
		// Comprobamos si la respuesta ha sido correcta (resultado HTTP 200)
		if (ajax.status == 200) {
			// Escribimos el resultado en la pagina HTML mediante DHTML
			// document.all.salida.innerHTML = "<b>"+"</b>";
			var monto = ajax.responseText;
			var carrito = document.getElementById("tablaCarrito");
			var filas = carrito.getElementsByTagName("tr");
			for(var i = 1; i <= filas.length ; i++){
				var fila = filas[i];
				fila.parentNode.removeChild(fila);
			}
			alert("Total de la compra: " + monto);
			document.getElementById("total").innerHTML = 0;
		}
	}
}

function agregarItemCarrito(codigo, nombre) {
	var cantidad = 0;
	if(nombre == true)
		cantidad = document.getElementById(codigo + "Ranking").value;
	else	
		cantidad = document.getElementById(codigo).value;
	
	var codigoItem = "item" + codigo;
	
	if (document.getElementById(codigoItem) != null) {
		actualiza = codigoItem;
	}else{
		actualiza = null;
	}
	
	if (cantidad > 0) {
		if (window.XMLHttpRequest)
			ajax = new XMLHttpRequest(); 
		else
			ajax = new ActiveXObject("Microsoft.XMLHTTP"); 

		ajax.onreadystatechange = funcionCallbackAgregarItem;

		var url = "RealizarVenta";
		// Enviamos la peticion
		ajax.open("POST", url, true);
		ajax.setRequestHeader('Content-Type',
				'application/x-www-form-urlencoded');
		var datos = "codigo=" + codigo + "&cantidad=" + cantidad;
		ajax.send(datos);
	}
}

function agregarItemRanking(codigo, nombre) {
	var cantidad = 0;
	if(nombre == true)
		cantidad = document.getElementById(codigo + "Ranking").value;
	else	
		cantidad = document.getElementById(codigo).value;
	
	var codigoItem = "item" + codigo;
	
	if (document.getElementById(codigoItem) != null) {
		actualiza = codigoItem;
	}else{
		actualiza = null;
	}
	
	if (cantidad > 0) {
		if (window.XMLHttpRequest)
			ajax = new XMLHttpRequest(); 
		else
			ajax = new ActiveXObject("Microsoft.XMLHTTP"); 

		ajax.onreadystatechange = funcionCallbackAgregarItem;

		var url = "RealizarVenta";
		// Enviamos la peticion
		ajax.open("POST", url, true);
		ajax.setRequestHeader('Content-Type',
				'application/x-www-form-urlencoded');
		var datos = "codigo=" + codigo + "&cantidad=" + cantidad;
		ajax.send(datos);
	}
}

function eliminarItemCarrito(codigo) {
	var codigoItem = "item" + codigo;
	if (window.XMLHttpRequest)
		ajax = new XMLHttpRequest();
	else
		ajax = new ActiveXObject("Microsoft.XMLHTTP"); 

	ajax.onreadystatechange = funcionCallbackEliminarItem;

	var url = "EliminarItemCarrito";

	ajax.open("POST", url, true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var datos = "codigo=" + codigo;
	ajax.send(datos);

	var element = document.getElementById(codigoItem);
	element.parentNode.removeChild(element);

	var total = 0;
	var table = document.getElementById("tablaCarrito");
	for ( var r = 1, n = table.rows.length; r < n; r++) {
		total += parseFloat(table.rows[r].cells[2].innerHTML);
	}
	document.getElementById("total").innerHTML = total;

}

function confirmarVenta() {
	if (confirm("�Desea concretar la compra?")) {
		if (window.XMLHttpRequest)
			ajax = new XMLHttpRequest(); // No Internet Explorer
		else
			ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer

		ajax.onreadystatechange = funcionCallbackConfirmarVenta;

		var url = "ConfirmarVenta";
		// Enviamos la peticion
		ajax.open("POST", url, true);
		ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		ajax.send("operacion=compra");
	}
}

function ordenarPor(tipo, columna, orden,operacion) {
	//operacion == compra || listado
	if (window.XMLHttpRequest)
		ajax = new XMLHttpRequest(); // No Internet Explorer
	else
		ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer

	if (tipo == "Ninio")
		ajax.onreadystatechange = funcionCallbackOrdenarPorNinio;

	if (tipo == "Moda")
		ajax.onreadystatechange = funcionCallbackOrdenarPorModa;

	if (tipo == "Electrodomestico")
		ajax.onreadystatechange = funcionCallbackOrdenarPorElectrodomestico;

	if (tipo == "Mueble")
		ajax.onreadystatechange = funcionCallbackOrdenarPorMueble;

	if (tipo == "Ranking")
		ajax.onreadystatechange = funcionCallbackOrdenarPorRanking;

	var url = "OrdenarArticulos";
	ajax.open("POST", url, true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var datos = "columna=" + columna + "&tipo=" + tipo + "&orden=" + orden + "&operacion=" + operacion;
	ajax.send(datos);

}

function validar(boton) {
	if (isNaN(boton.value))
		boton.value = 0;
}


function actualizarTabla(){
	var tabla = document.getElementsByTagName("table"); 
	for ( var j = 0; j < tabla.length; j++ ){
		var filas = tabla[j].rows;
		for(var i= 0; i < filas.length ; i++){
			if( i % 2 != 0 ){
				filas[i].setAttribute("class","alt");
			}
		}
	}
}

function funcionCallBackBusqueda() {
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			tablaBusqueda = document.getElementById(valorBusqueda);

			var firstRow = tablaBusqueda.getElementsByTagName("thead")[0];
			var tfoot = tablaBusqueda.getElementsByTagName("tfoot")[0];
			
			tablaBusqueda.innerHTML = "<thead>" + firstRow.innerHTML + "</thead> <tfoot>"+ tfoot.innerHTML + "</tfoot>" + ajax.responseText;
			actualizarTabla();
			
			
		}
	}
}


function buscar(input, nombreTabla, tipo, operacion){
	var valor = document.getElementById(input).value;
	
	if (window.XMLHttpRequest)
		ajax = new XMLHttpRequest(); 
	else
		ajax = new ActiveXObject("Microsoft.XMLHTTP");

	ajax.onreadystatechange = funcionCallBackBusqueda;
	
	valorBusqueda = nombreTabla;

	ajax.open("POST", "Busqueda", true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var datos = "valor=" + valor + "&tipo=" + tipo + "&operacion=" + operacion;
	ajax.send(datos);
}

